using System;

namespace PropertyExpression.ReactiveRelation
{
    internal interface ICalculatedValueCacheItem<TCalcContext>
    {
        object Entity { get; }

        string PropertyName { get; }

        void SetValue(
            ICalculatedValueCacheFinder<TCalcContext> calculatedValueCacheFinder, 
            IOneToManyCollectionNewItemProcessor oneToManyCollectionNewItemProcessor, 
            Func<IBindContext<TCalcContext>> bindContextFunc);
    }
}